package com.system.exception;

public interface ErrorCode {
	interface CommonResult {
		// 成功
		int SUCCESS = 0;
		// 未知错误
		int UNKNOW_ERROR = -19999;
		// 成功锁定,锁定的数额小于请求数
		int LOCK_SUCCESS = 1;
		// 由于未知原因导致的查询失败
		int UNKOWN_QUERY_FAILURE = -19998;
	}

	interface SPError {
		// SP错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		int UNKNOW_ERROR = -20000;
		// SPID不存在
		int SPID_NOT_EXIST = -20001;
		// SP密码错误
		int INVAILD_SP_PASSWORD = -20002;
		// SP未获得调用本接口的授权
		int NO_ACCESS_AUTHORIZATION = -20003;
		// Service不存在
		int SERVICE_NOT_EXIST = -20004;
		// Service状态异常
		int SERVICE_STATUS_ABNORMAL = -20005;
		// ServiceItem状态异常
		int SERVICEITEM_STATUS_ABNORMAL = -20006;
		// 距上次服务到期时间已经超过2个月,不允许再发送离线扣费!
		int UNABLE_OFFLINE_PAY_AFTER_2MONTHS = -20007;
		// SP不具备离线支付资格，互联星空平台没有为该SP开通离线支付资格
		int NO_OFFLINE_PAY_QUALIFICATION = -20008;
		// 一个帐期内只允许发送一次离线支付请求
		int ONE_PAY_ALLOWED_IN_1PERIOD = -20009;
		// 只允许在服务到期的12小时内，发新的离线支付请求
		int UNABLE_OFFLINE_PAY_BEFORE_12HOURS = -20010;
		// 不允许扣除1个月前提供服务的费用
		int NO_DEDUCT_AFTER_1MONTH = -20011;
	}

	interface UserError {
		// 用户错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		int UNKNOW_ERROR = -20500;
		// 用户认证失败
		int USER_LOGIN_ERROR = -20501;
		// 用户处于非正常状态
		int USER_STATUS_ABNORMAL = -20502;
		// 用户未在指定端口上网
		int USER_INFORMAL_PORT = -20503;
		// 用户帐号不存在
		int USER_NOT_EXIST = -20504;
		// 此类用户不能使用IP地址认证功能
		int USER_INVALID_IP_LOGIN = -20505;
		// 当前IP地址与用户宽带账号应该分配到的地址不符
		int USER_INVALID_IP = -20506;
		// 此账号用户并未拨号在线
		int USER_OUTLINE = -20507;
		// 通过一点通认证的用户未经过二次口令认证，不允许消费。
		int UNABLE_PAYMENT_EXCEPT_LOGIN_AGAIN = -20508;
		// 用户余额（信用）不足
		int CREDIT_NOT_ENOUGH = -20509;
		// 用户密码过于简单，请修改密码后登录
		int PASSWD_TOO_SIMPLE_TO_LOGIN = -20510;
		// 用户取消认证
		int USER_CANCEL_LOGIN = -20511;
		// 用户取消支付
		int USER_CANCEL_PAYMENT = -20512;
		// 用户未选择续订购!可能原因：1、用户在首次订购的页面上，没有进行续费选择。2、用户主动从中心平台取消了包月。
		int UNABLE_OFFLINE_PAY = -20513;
		// 用户未订购过该服务,不允许离线扣费!根据SP发送的ServcieID、ServceiItemID，没有找到对应的订购记录，也可能是SP发送的ServiceID、ServiceItemID有问题常
		int NOT_EXIST_TO_OFFLINE_PAY = -20514;
		// 用户不满足支付条件!可能原因：1、未安装安全插件；2、不满足支付安全策略。
		int USER_INVALID_TO_PAY = -20515;
		// 用户主机信息异常（如安全插件获得的HDID为空）
		int USER_HOST_ERROR = -20516;
		// 用户被列入黑名单
		int USER_IN_BLACKLIST = -20517;
		// 用户超过本次消费最大限额
		int OVER_CREDIT = -20518;
	}

	interface SubscriptionError {
		// 订购关系错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		int UNKNOW_ERROR = -21000;
		// 该地区用户不能消费
		int AREA_USER_TRADE_BLOCK = -21001;
		// 该类别用户不能消费
		int TYPE_USER_TRADE_BLOCK = -21002;
		// 超出消费限额
		int OVER_TRADE_LIMIT = -21003;
		// 无指定交易号的消费记录
		int TRADE_NOT_FOUND_BY_TRANSACTIONID = -21004;
		// 用户未订购
		int SUBSCRIPTION_NOT_FOUND = -21006;
		// 用户未与SP用户帐号捆绑
		int USER_HAS_NOT_BIND_SPACOUNT = -21007;
		// 用户已经与SP用户帐号捆绑
		int USER_HAS_BIND_SPACOUNT = -21008;
		// 生成互联星空帐户失败
		int USER_CREATE_FAILURE = -21009;
		// 该账号已经订购了该产品，且在有效期内，订购请求为重复订购
		int REPEATED_SUBSCRIBE_REQUEST = -21010;
		// 该账号已经退订了该产品，退订请求为重复请求
		int REPEATED_UNSUBSCRIBE_REQUEST = -21011;
		// 帐号状态不正常，无法订购
		int ACCOUNT_ABNORMAL = -21012;
		// 系统内部原因处理失败
		int SYSTEM_CAUSE_FAILURE = -21013;
		// 已退订该产品不允许续定购
		int SUBSCRIPTION_CANCELED = -21015;
		// 产品不包含该ServiceID
		int SERVICE_NOT_CONTAIN_SERVICEID = -21016;
		// 产品不存在
		int SERVICE_NOT_FOUND = -21017;
		// -21018 不允许多个vnet帐号向同一个SP帐号充值-vnet对用户的提示信息：SP消费受到限制
		// -21019 未实施精确绑定的宽带用户机器HOSTID在规定时间内对同一vnet账号的充值次数超过限制
		// -21020 未实施精确绑定的宽带用户vnet账号在规定时间内接受充值的机器HOSTID数目超过限制
		// -21021 未实施精确绑定的宽带用户机器HOSTID在规定时间内对同一SP账号的充值次数超过限制
		// -21022 向此SP账号充值的未实施精确绑定的宽带用户机器HOSTID数超过限制
		// -21023 SPAccount为黑名单
		// -21024 SPAccount为灰名单，没有使用该帐期内首次充值的Vnet User进行消费
		// -21025 SPAccount为灰名单，超过了消费金额限制
		// -21026 此账户类型对同一个SPAccount每月充值金额超过限制
	}

	interface ParameterError {
		// -21500
		// 参数错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		// -21501 无效的FeeType
		// -21502 无效的Renewable取值
		// -21503 无效的StopType
		// -21504 无效的省份码
		// -21505 无效的ServiceID
		// -21506 无效的ServiceItemID
		// -21507 无效的PaymentStatus
		// -21508 无效的ProvinceURL
		// -21509 无效的LedgerDate
		// -21510 无效的Password
		// -21511 无效的SPID
		// -21512 无效的UserID
		// -21513 无效的TransactionID
		// -21514 无效的TimeStamp
		// -21515 无效的StartTime
		// -21516 无效的EndTime
		// -21517 无效的StartTime和EndTime
		// -21518 无效的Fee
		// -21519 无效的SequenceID
		// -21520 无效的IPAddress
		// -21521 无效的IsFinal
		// -21522 无效的IfExtend
		// -21523 无效的Description
		// -21524 无效的DetailParams
		// -21525 无效的PaymentType(离线支付)
		// -21526 无效的LedgerType
		// -21527 无效的RoamType
		// -21528 无效的UserAccount
		// -21530 无效的ItemName
		// -21531 无效的ClockError
		// -21532 无效的ReturnURL
		// -21533 无效的包次次数
		// -21534 无效的LockType
		// -21535 无效的LockAmount
		// -21536 无效的TotalCount
		// -21537 无效的OrderID
		// -21538 无效的TotalFee
		// -21539 无效的ProductID
		// -21540 无效的ProductType
		// -21541 无效的ProductName
		// -21542 无效的ProductDesc
		// -21543 无效的Price
		// -21544 无效的PackagePrice
		// -21545 无效的ServiceType
		// -21546 无效的Citycode
		// -21547 无效的ActionType
		// -21548 无效的Authenticator
		// -21549 无效的FeeTypeID
		// -21550 无效的SenderID
		// -21551 无效的AccountType
		// -21552 无效的Account
		// -21553 无效的Status
		// -21554 无效的BillMonth
		// -21555 解密数据为空
		// -21556 解密结果项数不正确
		// -21557 解密失败
		// -21558 插件的SessionID无效
		int UNKNOW_ERROR = -21500;
		int INVALID_FEE_TYPE = -21501;
		int INVALID_RENEWABLE = -21502;
		int INVALID_STOP_TYPE = -21503;
		int INVALID_PROVINCE_CODE = -21504;
		int INVALID_SERVICE_ID = -21505;
		int INVALID_SERVICEITEM_ID = -21506;
		int INVALID_PAYMENT_STATUS = -21507;
		int INVALID_PROVINCE_URL = -21508;
		int INVALID_LEDGER_DATE = -21509;
		int INVALID_PASSWORD = -21510;
		int INVALID_SPID = -21511;
		int INVALID_USERID = -21512;
		int INVALID_TRANSACTION_ID = -21513;
		int INVALID_TIMESTAMP = -21514;
		int INVALID_START_TIME = -21515;
		int INVALID_END_TIME = -21516;
		int INVALID_START_END_TIME = -21517;
		int INVALID_FEE = -21518;
		int INVALID_SEQUENCE_ID = -21519;
		int INVALID_IP_ADDRESS = -21520;
		int INVALID_IS_FINAL = -21521;
		int INVALID_IF_EXTEND = -21522;
		int INVALID_DESCRIPTION = -21523;
		int INVALID_DETAIL_PARAMS = -21524;
		int INVALID_PAYMENT_TYPE = -21525;
		int INVALID_LEDGER_TYPE = -21526;
		int INVALID_ROAM_TYPE = -21527;
		int INVALID_USER_ACCOUNT = -21528;
		int INVALID_BLANK = -21529;
		int INVALID_ITEM_NAME = -21530;
		int INVALID_CLOCK_ERROR = -21531;
		int INVALID_RETURN_URL = -21532;
		int INVALID_PERIOD_TIMES = -21533;
		int INVALID_LOCK_TYPE = -21534;
		int INVALID_LOCK_AMOUNT = -21535;
		int INVALID_TOTAL_COUNT = -21536;
		int INVALID_ORDER_ID = -21537;
		int INVALID_TOTAL_FEE = -21538;
		int INVALID_PRODUCT_ID = -21539;
		int INVALID_PRODUCT_TYPE = -21540;
		int INVALID_PRODUCT_NAME = -21541;
		int INVALID_PRODUCT_DESC = -21542;
		int INVALID_PRICE = -21543;
		int INVALID_PACKAGE_PRICE = -21544;
		int INVALID_SERVICE_TYPE = -21545;
		int INVALID_CITY_CODE = -21546;
		int INVALID_ACTION_TYPE = -21547;
		int INVALID_AUTHENTICATIOR = -21548;
		int INVALID_FEETYPE_ID = -21549;
		int INVALID_SENDER_ID = -21550;
		int INVALID_ACCOUNT_TYPE = -21551;
		int INVALID_ACCOUNT = -21552;
		int INVALID_STATUS = -21553;
		int INVALID_BILL_MONTH = -21554;
		int DECRYPT_DATA_NULL = -21555;
		int DECRYPT_DATE_NOT_CORRECT = -21556;
		int DECTYPT_FAIL = -21557;
		int INVALID_SESSIONID_OF_PLUGIN_ = -21558;
		int INVALID_PE_NAME = -20601;		
	}

	interface BillError {
		// -22000
		// 计费帐务结算错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		// -22001 对账成功，误差在允许范围内
		// -22002 对帐不平
		// -22003 还不能进行该日期的对帐
		// -22004 对帐期已过，不能进行该日期对帐
		// -22005 对帐不平,但对帐结果已作调整（人为调整）

		int UNKNOW_ERROR = -22000;
		int ERROR_IN_RANGE = -22001;
		int ERROR_OUT_RANGE = -22002;
		int BILL_NOT_READY = -22003;
		int BILL_EXPIRED = -22004;
		int ERROR_IN_RANGE_WITH_MANUAL = -22005;
	}

	interface SystemError {
		// -22500
		// 系统内部错误[注：这是比较笼统的错误描述，如果无法在本类错误以下错误代码中找到更合适的错误描述，可以使用本错误代码，但必须在相应接口返回的错误描述字段中做详细错误描述]
		// -22501 磁盘读写错误
		int UNKNOW_ERROR = -22500;
		int HD_IO_ERROR = -22501;
		int DATA_NOT_READY = -22502;
	}

	interface SecurityPlugin {
		// -23000 支付表单的提交地址检测失败:非合法的互联星空支付URL，目标地址不在白名单中
		// -23001 支付表单的提交地址连通性检测失败：无法使用HTTP访问
		// -23002 浏览器设置了使用代理
		// -23003 插件到插件后台连接的目的地址不合法：目标地址不在百名单中
		// -23004 插件获取Session调用失败
		// -23005 白名单服务器连接失败
		// -23006 白名单服务器证书不被信任
		// -23007 支付表单提交失败
		// -23008 插件后台证书不被信任
		// -23009 用户使用了SocksCap
		// -23010 用户修改了MAC地址
		// -23011 可疑的硬盘ID
		// -23012 插件在虚拟机内运行
		// -23013 用户没有足够的权限
		// -23014 系统当前的活动窗口检测不合法
		// -23015 用户修改了硬盘ID
		// -23100 用户上网方式变更
		// -23101 帐号匹配失败，疑似黑客帐号
		// -23102 违反硬盘ID允许的改变次数限制
		// -23103 违反硬盘型号允许的改变次数限制
		// -23104 违反硬盘分区大小允许的改变次数限制
		// -23105 没有合法的token
		// -23106 P1和P2的外部IP不一致
		// -23107 P1和P2分别取得的硬盘ID不一致
		// -23108 直连时插件到插件后台TCP连接的端口比较失败
		// -23105 没有合法的token
		// -20012：非受控漫游服务

		int UNKNOW_ERROR = -23000;
		int HTTP_ACCESS_FAIL = -23001;
		int EXPLORER_PROXY = -23002;
		int INVALID_CONNECT_URL = -23003;
		int LOAD_SESSION_FAIL = -23004;
		int SERVER_CONNECT_FAIL = -23005;
		int SERVER_NOT_TRUST = -23006;
		int PAY_FORM_COMMIT_FAIL = -23007;
		int CERTIFICATE_NOT_TRUST = -23008;
		int USER_MODIFY_SOCKSCAP = -23009;
		int USER_MODIFY_MAC = -23010;
		int DISTRUCTFUL_HARDDISK_ID = -23011;
		int PLUG_IN_VM = -23012;
		int USER_NO_AUTHORIZATION = -23013;
		int ACTIVED_WINDOWS_NO_AUTHORIZATION = -23014;
		int USER_MODIFY_HARDDISK_ID = -23015;
		int USER_CHANGE_INTERNET_ACCESS = -23100;
		int ACCOUNT_MATCH_FAIL = -23101;
		int OVER_HARDDISK_ID_CHANGE_TIMES = -23102;
		int OVER_HARDDISK_MODEL_CHANGE_TIMES = -23103;
		int OVER_HARDDIST_VOLUME_CHANGE_TIMES = -23104;
		int NO_AUTHORIZATION_TOKEN_FOUND = -23105;
		int P1_P2_IP_DIFFERENT = -23106;
		int P1_P2_HARDDISK_ID_DIFFERENT = -23107;
		int PLUG_CONNECT_SERVER_FAIL = -23108;
		int UNCONTROL_ROAM_SERVICE = -20012;
	}
}
